package com.gaxy.subject.domain.service;


import com.gaxy.subject.common.entity.PageResult;
import com.gaxy.subject.domain.entity.SubjectLikedBO;

/**
 * 题目点赞表 领域service
 *
 * @author gaxy
 * @since 2024-07-03 21:12:43
 */
public interface SubjectLikedDomainService {

    /**
     * 题目点赞
     */
    void add(SubjectLikedBO subjectLikedBO);

    /**
     * 判断当前题目是否被目前用户点在
     * @return
     */
    Boolean isLiked(String subjectId, String userId);

    /**
     * 获取点赞数量
     * @param subjectId
     * @return
     */
    Integer getLikedCount(String subjectId);

    /**
     * 更新 题目点赞表 信息
     */
    Boolean update(SubjectLikedBO subjectLikedBO);

    /**
     * 删除 题目点赞表 信息
     */
    Boolean delete(SubjectLikedBO subjectLikedBO);

    /**
     * 同步点赞信息
     */
    void syncLiked();

    /**
     * 分页查询
     * @param subjectLikedBO
     * @return
     */
    PageResult<SubjectLikedBO> getSubjectLikedPage(SubjectLikedBO subjectLikedBO);
}
